Practical Usecases
We've already seen a couple of useful enums in the previous feature
descriptions. Examples would be Optional, Either,
FileNode, or the binary tree. However, there're many more scenarios
where using an enum wins over a struct or class. Usually, if your
problem domain can be divided into a finite set of distinctive
categories, an enum may be the right choice. Even only two cases are a
perfectly valid scenario for an enum, as the Optional and Either types
show.
Here, then, are some more examples of practical enum usage to fuel
your creativity.
