I operate a laser cutter so do a bit of 2D CAD work. Along with my 22 button gaming mouse, AutoHotKey is a massive productivity booster. I have a script compiled to exe running on the laser control console PC to make it more user friendly too.
scroll wheel can be pushed left and right - 17 + 2 = 19
two addition buttons below the scroll wheel - 19 + 2 = 21
Every button I've listed is programmable. I made the left mouse button do something else by mistake once. That was awkward.
Also, the software it comes with allows you to program in 8 keymaps over many profiles, and it can change the profile based on what program has focus. I typically just use 2 keymaps in one profile across the few programs I have to use at work.
Just having enter, delete, backspace, tab keys, whatever on the mouse is amazing, but I also have macros programmed in for various tasks in the CAD program. I use AutoHotKey for most of the automated tasks in the proprietary software for the laser cutter.