code: private ElasticSearchSetup.Connection interfaceConfiguration(Configuration config) {
          ElasticSearchSetup clientMode = ConfigOption.getEnumValue(config.get(INTERFACE), ElasticSearchSetup.class);
  
          try {
              return clientMode.connect(config);
          } catch (IOException e) {
              throw new TitanException(e);
          }
      }
docs: Configure ElasticSearchIndex's ES client according to semantics introduced in
  0.5.1.  Allows greater flexibility than the previous config semantics.  See
  {@link com.thinkaurelius.titan.diskstorage.es.ElasticSearchSetup} for more
  information.
  <p>
  This is activated by setting an explicit value for {@link #INTERFACE} in
  the Titan configuration.
  
  @see #legacyConfiguration(com.thinkaurelius.titan.diskstorage.configuration.Configuration)
  @param config a config passed to ElasticSearchIndex's constructor
  @return a node and client object open and ready for use