Django - Elegir form_class en UpdateView de manera condicional

Buenas, tengo una pequeña consulta. Estoy manejando el workflow de una orden, y en los distintos pasos necesito mostrar distintos campos, cual seria la forma correcta de hacer esto?

Por ahora estoy sobreescribiendo el get_form_class y mostrando distintos forms con los campos ocultos/excluidos que no son necesarios en esa instancia del workflow.

class OrderWorkflowUpdateView(UpdateView):
    model = OrderWorkflow
    

    def get_form_class(self):
        if self.object.state == 'IP':
            self.form_class = OrderWorkflowInProgressForm
        else:
            self.form_class = OrderWorkflowPendingForm
        return super().get_form_class()

Esta encaminado o hay una mejor forma?

Muchas gracias, saludos!

Hola, qué tal

va por ahí la cosa, directamente en tu get_form_class() hacé un return del form que querés que use