Deciding on optimal index combinations
That one example needs

INDEX(c, f, h,  -- these can be in any order
      a,        -- this must be after the first 3
      ... )     -- others can follow


Your suggestions with (c, d, ... are not very useful.

If you are expecting to have lots of different queries, I recommend you


Study what is actually used by users.  You will find that there are a few common columns or pairs of columns, and some columns that are rarely used.
Then add a few indexes, no more than, say, a dozen.
Generally don't make indexes with more than 3 columns.
Have the indexes scrambled around.  The two you suggested may as well be replaced by simply (c,d,e,f,g,h,i) since this will be quite useful for both.
Study this for how to generate the optimal index for a given select.