I don't really like converting a bogus value to an arbitrary value; `Name.Amazon` is just as likely to be correct as `Name.MyOwn` (and probably more so, given that part of Eureka's sweet-spot is in AWS deployments).

As far as I can tell, there are only two places we deserialize: in the server, when an app registers; and in the client, when we get data from the server.  In both cases, I think the actual best behavior would be to drop the bad registration on the floor: bad clients can't register, and if one somehow succeeds (talking to an old Eureka server, perhaps), we stop it replicating.

This implies to me that throwing a new exception, and catching it at the call sites to do something sane, is actually the best option, but it's also a much more invasive change.  As-is, this code ends up preventing bad clients from registering in the first place.