This is my adaptation of an activity I heard about, but didn't take notes for, and then tried to re-create. I used pool noodles as a model for active sites, competitive inhibition and non-competitive inhibition.
I use blue as the substrate, brown as a competitive inhibitor and orange as a non-competitive inhibitor. We talk about active sites, allosteric sites and induced fit model.
We also talk about the limitations of this model. It doesn't actually show a reaction taking place in the active site, you can manipulate the enzyme to let the blue and brown fit at the same time, or one of them fit while the orange piece is in the allosteric site ... it is not perfect, but most models are not perfect.