I found another reference to this ability:
Basically:
Bear with my inaccurate analogy here, because it might provide a better explanation of what I'm talking about:
In an enum, when a case has no associated values, you can think of values of that case behaving like a type in that there's only one version of it that can exist: the thing itself. There's no range of values that can be represented by such an enum case; there's just one value.
Now, once you introduce associated values, the concept of an enum case suddenly changes: it no longer represents a single thing, it represents a potential range of things. In other words, realized versions of those case values stop acting like types and start acting like instances of a type.
Anywhere else in Swift where something acts like a value, there's an equivalent metavalue type that can also be represented in a Swift variable.
It seems to me it's quite common in software development that when you model specific instances of things, you also need a way to represent the general form of those specific things.