while we are on it can' we move the `name.toUpperCase(Locale.ROOT);` into the valueOf method?