We had an implementation where we wanted to have something like this, and what we did was making a configuration entity, that holds the formid, and the business process id and the case type, and we had 1 router empty form, only to choose the case type, and once saved, via code, we set the right business process and open the right form, by reading from the configuration entity.
Also make sure to put the form router code in the OnLoad event of all forms, to make sure that the case opens each time with the right form.