I can maybe shed some light on this. GSON will call fromValue to obtain the content type. The String type can (from what I remember) be null, in which case we want the Enum object as constructed by GSON to be null. 
On the other hand, please make sure to also have the UNRECOGNIZED value implemented as well! With this approach all your bases are covered.
Thanks!