I'm not sure where the idea that Hubitat's built-in drivers have code publicly available came from, but they don't. (Perhaps from ex-ST users, as many of us are, assuming that they are like ST and publish most of them.) Hubitat has a few examples on their GitHub, but that is all you'll find officially.
Besides those, there are lots of community drivers you could look at or use as a starting point if open-licensed. Since your driver is virtual, you're at least lucky that those are usually pretty easy to write since they don't usually do anything besides send events (no need to worry about "Z" communication), so even writing one from scratch if need be shouldn't be too difficult if you're otherwise familiar with Hubitat (or ST) driver development.
That being said, it seems to me like the built-in driver might already work for you needs if you just ignore the speeds you don't need (and remember what those are--maybe just "low," "medium," and "high"?), but I understand that it may be less confusing to avoid this. Do understand that the FanControl capability in Hubitat itself expects drivers to have all 5 speeds available (how they're implemented is up to the device), as far as the docs seem to suggest, so apps that expect to be able to use any of them might break if the driver doesn't gracefully accept them anyway. If you're only using this driver for yourself, this is unlikely to matter (since you'll know what you're doing), but it's worth pointing out regardless.