Norm - this is really cool.
I think this part of the last video really hits home and defines the benefits of this design pattern, highlighting why using strings would cause an epic fail.
I agree with Shaun in that strings are generally easier to read than integers in a Case Select, but in this case it doesn't really matter - the benefits are huge (you get some readability from the casted type anyways).
I can see the benefit of this straight away esp for scripting, and will be adding this to my templates folder.
Thanks for posting!