An index can be created or made invisible in which case the index is not considered by the optimizer (unless the initialization parameter optimizer_use_invisible_indexes is set to true).
The purpose of making indexes invisible is
to test if dropping an index would be adversial to overall performance
using temporary indexes for a limited set of database tasks without affecting other tasks
creating an index with a subset of columns from an existing (invisible) index.