A state machine is your best bet for this type of application. A simple state machine template can be found in you LabVIEW directory under \Templates. There are other methods of building them, but this should get you started.
Basically you have a for loop with a case structure inside. Each case is a state of your state machine, ussually the default case simply checks the status of your controls and passes the next case name to the queue/shift register, which feeds the case structure with the next state in the next iteration of the for loop.
It's kinda hard for me to explain, so I made a quick example, see attached...
Hope this helps!
Brian