Hi GoMrPickles! Welcome to the forum!
Generally yes, the ColumnDataSource is going to be your driver for Bokeh models and tools. And there is a limit of 3 on nested categorical axes.
If I’m understanding your question correctly about setting up nested categoricals without a groupby, then this example may be helpful (although based on the fruits in your code, I suspect that you may have seen it already).
If not, it may be more useful to post something closer to your actual code which ends up empty, or your hovertools which aren’t working, and we’d be happy to find and address whatever issues are seen there.
Which gallery plot were you hoping to find the code for? All of the examples should have code in the examples subdirectory of the Bokeh repo, so it’s probably there.