You would think so, but that's not the case. I could probably re-factor the grant types into polymorphic types that have a private string GRANT_TYPE, which is precisely what spring-security-oauth does.