You expressed concern that the index on that column is very long, meaning that it's the space occupied by the index, that worries you.
In a similar situation on an Oracle database, we replaced the normal index by a function-based one, taking the first 20 characters of the column value: we indexed SUBSTR20(COLUMN) instead of COLUMN, with SUBSTR20 being a user-defined function.
That greatly helped to reduce the index size, but we had to rewrite all queries to
SUBSTR20(COLUMN) = SUBSTR20('abcdefghijklmnopqrstuvwxyz')
COLUMN = 'abcdefghijklmnopqrstuvwxyz'
to make the database use the index (first part) and check the results for also matching the remaining characters (second part).
And handling LIKE comparisons correctly became a non-trivial challenge.
The query performance we experienced was good (comparable to the full-column index), as the main selection was done by the substring index.
So, this solution reduces space consumption, but comes at the cost of more complex SQL queries.
Of course, the assumption is that the first 20 characters are significant enough to reduce the result set to just a few candidates (which was true in our case).
To generalize this approach, you are of course free to do whatever you want in the indexing function, e.g. compute some hash value.