add FromJSON for UserStateVal so we can parse ""