Forcing one component to move only when contacting another?

I have an assembly and I don't know how to do what I want.

basically, I have a drive train that I have been assembling using gear mates.  the drive train has a plunger that is in a "forward" or a "reverse" position.  when in the "forward" position, four arms extend off of the plunger and interface with four corresponding arms on a gear and the plunger will drive that gear.  when in "reverse", the plunger is forced up to disengage with the first gear and the arms engage with another gear.

so, how can I "mate" the plunger so that the arms drive the proper gear?  basically I only want the gear to move when the arms collide with the gear so that the proper gear moves.

is this possible?

SolidworksAssemblies