If there are any open transactions while creating the indexes they might get stuck in the INSTALLED state.
You can find a clear explanation here.
After rolling back your open transactions and closing open instances, try reindexing.
Note: Block until the SchemaStatus transitions from INSTALLED to REGISTERED, after running the reindex command. Try to run groovy script instead of running the commands directly on gremlin console for building the indexes. Please find the sample script below.
import org.janusgraph.graphdb.database.management.ManagementSystem
mgmt = graph.openManagement();
mgmt.updateIndex(mgmt.getGraphIndex("giftIdByGift"), SchemaAction.REGISTER_INDEX).get();
ManagementSystem.awaitGraphIndexStatus(graph, "giftIdByGift").call();
mgmt.commit();
mgmt = graph.openManagement();
mgmt.updateIndex(mgmt.getGraphIndex("giftIdByGift"), SchemaAction.REINDEX).get();
ManagementSystem.awaitGraphIndexStatus(graph, "giftIdByGift").status(SchemaStatus.ENABLED).call();
mgmt.commit();