If you are writing code that will work for any Blueprints-enabled graph, then you are a bit stuck in this regard. The variety of options when it comes to indexing available to Titan, Neo4j, OrientDB, etc. are too vast to generalize behind Blueprints. Blueprints only has the notion of key indices as a generalized approach, but that approach is generally not good enough for Titan users and they must drop down to the Titan API.
Your best option for this situation is to work with createKeyIndex
and when not possible drop down for what you need done, drop down to the API of the underlying graph instance. That's a common practice and going forward to TinkerPop3 will be the only way to create an index and types.