Giving us an early peek at his TechEd 2004 talk, Eric discusses how to handle enums in your code, since they are not constrained to the list of options you define in the enum and also because they can change in ways that could break your code in the future...

Enums and validation
 ... So, my first point is that enums are not sets - they can take on any value from the underlying type.  ...