Are both models compiled for more than 6 shaves such that both cannot be allocated ahead of time? If you create your pipeline with both models (assuming you do not need the shave cores for a single one and you have enough memory) than simply switching the link at runtime will be sufficient.
In terms of routing, I believe you would have to use a script node on the device which based on some other parameter it observes will switch which stream to send data along.