> actually using swift enums and protocols is so painful.
In what way? My understanding is they're widely used and encouraged.