Advanced Enum Usage
enum type is one of Swift's most distinctive features. We already saw a lot of different use cases. However, There's much more that enums can do.
They can be used with protocols, just like other Swift types, they can have extensions, they can be generic, and much more. This chapter will introduce these interesting
We will start by having a look at conforming enums to protocols.