Yeh, it's a common and rather unintuitive problem. In your particular scenario, I'd say your use-case doesn't semantically fit well with the category system anyway: why not just use custom checkboxes? Even better, use the 'checkbox group' field provided in the PT Field Pack instead of the native ones, as they allow you to separate the value from the name. Much easier... http://devot-ee.com/add-ons/field-pack
Then in your channel:entries
tags you can use the search parameter to examine the values of your options and filter accordingly - something like this:
{exp:channel:entries search:article_options="show_on_hp"}
<h2>{title}</h2>
{/exp:channel:entries}