swap mesh data

Is it possible in blender to get a model to use another model’s mesh data - but select from a list of models?

Basically what I want to do is have 10 variations of the same model and be able to swap between them quickly and easily - showing only one of the variations at a time - without need to hide and unhide manually the other ones.

How would you go about doing that?
Any existing scripts out there?

I need to create a list of models and expose it to the gui