Enums are one of my favorite parts in any language. With Swift they've got extra
functionality such as adding functions, associated values and Indirect Enums.
So what are indirect enums? I have learned enums in other language, but never
came across any language which offers similar functionality. At least not