enum - это такой общий тип данных, для группы ассоциативных значений.

enum DayTime {
case night
case day
}

Ассоциированные значения

enum Proffesion {
case programmer(String,String, Int)
case sysadmin(String)
}
let myProffesion = Proffesion.programmer("Vanya","June",5)

Чистые значения

Могут быть только простого типа
enum MyPetName: String {
case cat = "Vasya"
case dog = "Petya"
}
var myCat = MyPetName.cat
var myCatName = myCat.rawValue- // Доступ к чистому значению

Протокол CAseIterable

Позволяет исплользовать .allCases - по сути можно сделать массив из перечиления