title: How to model type-safe enum types?
body: <p>Scala doesn't have type-safe <code>enum</code>s like Java has. Given a set of related constants, what would be the best way in Scala to represent those constants?</p>