http://underscore.io/blog/posts/2014/09/03/enumerations.html
https://gist.github.com/chaotic3quilibrium/57add1cd762eb90f6b24
http://stackoverflow.com/questions/1898932/case-objects-vs-enumerations-in-scala
http://stackoverflow.com/questions/17646335/combining-enums-and-using-getter-to-return-a-specified-enum
https://gist.github.com/chaotic3quilibrium/57add1cd762eb90f6b24
http://stackoverflow.com/questions/1898932/case-objects-vs-enumerations-in-scala
http://stackoverflow.com/questions/17646335/combining-enums-and-using-getter-to-return-a-specified-enum