Since the GN4 version 2.4. you can use the autoComplete in i4 search for categories.
<searchForm>
<ssc:and>
<ssc:fullTextBox path="nav:text" label="Full Text" operators="ContainsAll ContainsSome Contains Equal Near StartsWith EndsWith Advanced"/>
<ssc:textBox path="@name" operators="Contains Equal StartsWith EndsWith" />
<ssc:treeObjects path="gn4:folderRef/@idref" label="Folder" operators="In InSubtree NotIn NotInSubtree"
attributeFullName="folderObject.folderRef" selectionMode="Multiple" refAttributes="folderParent" refObjectType="folder" showHomeFoldersOnTop="true" />
<ssc:calendarTime path="@modifiedDate" label="Modified Date" operators="On Today Yesterday Before After LastDays LastHours LastMinutes LastMonths LastWeeks LastYears Between"/>
<ssc:calendarTime path="@creationDate" label="Created Date" operators="On Today Yesterday Before After LastDays LastHours LastMinutes LastMonths LastWeeks LastYears Between"/>
<!--<ssc:autoComplete path="gn4:cats/gn4:ref/@idref" attributeFullName="article.cats"/>-->
<ssc:autoComplete
path="gn4:cats/gn4:ref/@idref"
attributeFullName="article.cats"
searchAttributes="name, description"/>
</ssc:and>
</searchForm>