Allow Enums to put in JsonObject/JsonArray (converting to String)

This is mainly as a convenience so users can put properties as Enums, e.g. for service configuration, e.g.

JsonObject config = new JsonObject().put(AuthRealmTypeFieldName, AuthRealmType.JDBC);
AuthService service = AuthService.create(vertx, config);
we should use value.name() instead.

`name()` : it the name of this enum constant, exactly as declared in its enum declaration.

whereas

`toString()` can be overriden by developers to provide a more user friendly name according to Enum javadoc.