Did you actually read the PR description? The whole point of this PR is that enums are not runtime-extendable. XBMC is slowly moving in a direction where media types become user-definable so user X may want to define a new media type "sports" and user Y wants "home videos". How do you do that with an enum at runtime? We don't want to have to manually update our source code every time a user wants to have a new media type. It should be as dynamic as possible.
Obviously we could use an integer but that simply makes the code very difficult to read and follow. Furthermore there are places where we need an actual string.

IMO it shouldn't always be about speed especially if we loose easy extendibility.