You don't technically need to create or use multiple commands. It depends on the type of command interface you are wanting to use, such as single click (left click for interaction, right click for examine/cancel), or verb/coin, or retro (text or icons), etc.
In regard to mouse enters/leaves action blocks, the engine doesn't care about what your current command is, unless you setup interaction logic via the if query action parts or scripting via if lua result action part.
if you setup an if lua result action part then you can query if an item is not currently being held.
if lua result: return (game.UsedItem.empty)
set command to x
end if
You would need to include that in both your mouse over & leave actions. It's technically possible to setup something more global via a full scripting solution, but whether or not that would be a viable solution would depend on what command interface type you are using.
By the way, I would highly recommend joining our discord server - link is in the footer - if you'd prefer to get a faster response to your questions or just feel like chatting with other game developers using Visionaire Studio. We are a lot more active on there than here.