Use string-backed enums

Because sometimes you're worth a few extra bytes.