Amended answer
For each thematic "category", manually add (and keep track of) a separate sorting character (s@t, where s = sorting string, t = index entry text, with "a@" for "cats", "b@" and "c@" for canids and carrypacks respectively, and "z@" for misc, so the index entry would look like, for example, \index[theme]{a@Cats!leopard}). "Miscellaneous" would logically be at the end in a theme list.
An .ist file with a dotfill command would give you right justification: if it is called plain.ist, invoking it would be by: \makeindex[name=theme,title=Thematic Index,options=-s plain].
One-column (columns=1 option in the \makeindex command):

Default two-columns:

MWE
\documentclass{article} \usepackage[splitindex]{imakeidx} \makeindex[name=fel,title=Cats]%a \makeindex[name=can,title=Canids]%b \makeindex[name=equ,title=Carrypacks]%c \makeindex[name=msc,title=Misc]%z \makeindex[name=theme,title=Thematic Index,options=-s plain] \begin{document} lion\index[fel]{lion}\index[theme]{a@Cats!lion} coyote\index[can]{coyote}\index[theme]{b@Canids!coyote} zebra\index[equ]{zebra}\index[theme]{c@Carrypacks!zebra} moose\index[msc]{moose}\index[theme]{z@Miscellaneous!moose} \newpage wolf\index[can]{wolf}\index[theme]{b@Canids!wolf} gazelle\index[equ]{gazelle}\index[theme]{c@Carrypacks!gazelle} tiger\index[fel]{tiger}\index[theme]{a@Cats!tiger} mouse\index[msc]{mouse}\index[theme]{z@Miscellaneous!mouse} \newpage guinea pig\index[msc]{guinea pig}\index[theme]{z@Miscellaneous!guinea pig} leopard\index[fel]{leopard}\index[theme]{a@Cats!leopard} dingo\index[can]{dingo}\index[theme]{b@Canids!dingo} horse\index[equ]{horse}\index[theme]{c@Carrypacks!horse} \newpage \printindex[can] \printindex[equ] \printindex[fel] \printindex[msc] \printindex[theme] \end{document}
The plain.ist file:
delim_0 "\\space\\dotfill\\space " delim_1 "\\space\\dotfill\\space " delim_2 "\\space\\dotfill\\space " delim_n ", " delim_r "--" delim_t "" encap_prefix "\\" encap_infix "{" encap_suffix "}" line_max 1000
Original answer
If I have understood correctly, do you mean adding something like a summary or thematic index, using level 0 as grouping?

It's a separate index and has its own \index[...]{...} entries.
A script could go through the .idx files and derive a theme .idx file, getting, say, \indexentry{lion}{1} (from the -fel.idx) and outputting \indexentry{Cats!lion}{1} into the -theme.idx but this would be partway through the automatic toolchain, and in any case, a mapping to match the sub-entry (lion) to the grouping (Cats) would still need to be done/defined somewhere beforehand. Perhaps a regex could work, after the mapping is established.
MWE
\documentclass{article} \usepackage[splitindex]{imakeidx} \makeindex[name=fel,title=Cats] \makeindex[name=can,title=Canids] \makeindex[name=msc,title=Misc] \makeindex[name=theme,title=Thematic Index] \begin{document} lion\index[fel]{lion}\index[theme]{Cats!lion} coyote\index[can]{coyote}\index[theme]{Canids!coyote} moose\index[msc]{moose}\index[theme]{Miscellaneous!moose} \newpage wolf\index[can]{wolf}\index[theme]{Canids!wolf} tiger\index[fel]{tiger}\index[theme]{Cats!tiger} mouse\index[msc]{mouse}\index[theme]{Miscellaneous!mouse} \newpage guinea pig\index[msc]{guinea pig}\index[theme]{Miscellaneous!guinea pig} leopard\index[fel]{leopard}\index[theme]{Cats!leopard} dingo\index[can]{dingo}\index[theme]{Canids!dingo} \newpage \printindex[can] \printindex[fel] \printindex[msc] \printindex[theme] \end{document}
\index{Item!Subitem}