code: public static <P extends Enum<P>> int optInt(final JSONObject json, P e) {
          return json.optInt(e.name());
      }
docs: Returns the value mapped to {@code e} if it exists and is an {@code int} or can be coerced to
  an {@code int}. Returns 0 otherwise.
  
  @param json {@link JSONObject} to get data from
  @param e    {@link Enum} labeling the data to get