Recently I completed a customization. Basic requirement is workflow type have to decide on Certain enum based value at run time.
For dumpy example, I have two customized type for Sales Order. External Sales and Internal Sales.
And Workflow based on same query or table will be different for external sales and internal sales.
For this you have to left empty Workflow in Design Property of form.
You have to over write. LoadWorkflowConfiguration
For more reference Kindly explore the ledgerjournaltable form.