Move error codes + description into an enum