Should I use Custom States or Show/Hide workflow action?

When thinking in optimizing the page in terms of Workload units, what is more efficient to show different groups according to different options buttons clicked, Show/Hide or Custom States + Conditionals?

none if that affects WU (there are no WU costs involved)… but generally, using custom states to control element visibility is much simpler than using show/hide actions.

But I prefer url parameter, state are painfull to reset, and more on a onepage app
You can always user states, but keep it at page level (or Reusable Element level) and better is to always use the smae one, instead you will always need to reset one and set another one etc…