Default cases are your friend.<p>Personally, my most wanted feature for enums in general is a way to distinguish between "final" enums - that are intended for enums that cannot change, and a modifiable enums, where they can change and a lack of default case throws a syntax error.<p>Unfortunately, there is no way to enforce someone not changing a "final" enum.