I wrote an animation sequence for an XBMC based Kaleidescape clone a decade ago. They've improved their interface since then it seems.
However, I just spent an hour or so looking into if it's possible, and I don't think so, at least not anymore.
Kodi doesn't hold a listitem's genre in a way that we can scroll through them (they are stored in Genre as Comedy/War/Thriller with a '/' in between). I tried using a list of all genres and only showing items that matched the genre, but we can no longer access a listitem's genre from another list so I can't compare the possible content against a ListItem that is empty. As in:
Code:
<!-- Genre button -->
<control type="list" id="995">
<posx>615</posx>
<posy>4</posy>
<width>190</width>
<height>35</height>
<orientation>vertical</orientation>
<onleft>55</onleft>
<onright>996</onright>
<ondown>noop</ondown>
<onup>noop</onup>
<visible>Window.IsActive(videos)</visible>
<itemlayout height="35" width="190">
<control type="label">
<posx>0</posx>
<posy>0</posy>
<width>190</width>
<height>35</height>
<aligny>center</aligny>
<font>METF_TitleText</font>
<textcolor>TextNF</textcolor>
<selectedcolor>TextFO</selectedcolor>
<label>$INFO[ListItem.Label]</label>
<visible>String.Contains(Container.ListItem.Genre,ListItem.Label)</visible>
</control>
</itemlayout>
<focusedlayout height="35" width="190">
<control type="label">
<posx>0</posx>
<posy>0</posy>
<width>190</width>
<height>35</height>
<aligny>center</aligny>
<font>METF_TitleText</font>
<textcolor>TextNF</textcolor>
<selectedcolor>TextFO</selectedcolor>
<label>$INFO[ListItem.Label]</label>
<visible>String.Contains(Container.ListItem.Genre,ListItem.Label)</visible>
</control>
</focusedlayout>
<content>
<item id="0">
<label>Comedy</label>
<onclick>SetFocus(55)</onclick>
<onclick>JumpSMS9</onclick>
</item>
<item id="1">
<label>Science Fiction</label>
<onclick>SetFocus(55)</onclick>
<onclick>JumpSMS9</onclick>
</item>
<item id="2">
<label>Horror</label>
<onclick>SetFocus(55)</onclick>
<onclick>JumpSMS9</onclick>
</item>
<item id="3">
<label>Thriller</label>
<onclick>SetFocus(55)</onclick>
<onclick>JumpSMS9</onclick>
</item>
<item id="4">
<label>War</label>
<onclick>SetFocus(55)</onclick>
<onclick>JumpSMS9</onclick>
</item>
</content>
</control>
ignore the onclick action, it is just a placeholder.
Container.ListItem.Genre is empty since kodi 18 Alpha 2 in any list other than the main one. I tried Container(55).ListItem.Genre and even an exact offset.
So short of a dev making special container id for things like Genre lists per focused items like they did for DialogVideoInfo.xml and cast members, I can't see how it can be done.
If I'm not seeing a smarter way I hope someone chimes in and shows me, I like the idea.