What I think could be done, is to - Create boolean task variables for each of your options. - In the routing, set the variables based on the user input. - Under Transitions, verify that the logic you want is selected, either under the complete transition, or each of the routing transitions individually. - If the logic isn't met, throw an exception with detail for the user.
Below is some sample code that I have that throws an exception if the PBO isn't checked in when completing a task.