What is an enum?
The idea
An enum is a type with a finite set of named variants (cases). In Swift it is a full value type: it can have methods, computed properties, initializers, extensions, protocol conformances and generic parameters. It is stored compactly: a case tag plus payload.
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep