Swift documentation says that classes, structs, and enums can all conform to protocols, and I can get to a point where they all conform. But I can
It is not possible to define variables without getter and setter in enums and therefore it is impossible to have a variable that you can modify.
You can conform to the protocol but you cannot have same behavior with mutating as in classes.