- native TS langugae server (which IDEs use by default) supports jumping to usages of enum keys (pretty sure it's possible to do this with unions using extensions/JetBrains, but it's not built-in into vscode at the moment)
- more familiar (as it's used in many programming languages)
- could be easily extended:
type UkCity = "london" | "edinburgh"