The best way I have found to think about this, and especially to explain it to people who aren't used to grammatical gender, is this: "feminine" nouns are the ones that lenite after a definite article. Just like in French, "feminine" nouns are the ones that take "la".
Don't try to think of it as a quality of the thing the noun describes, or of the phonetics or spelling of it - just know that there are X classes of nouns in a given language, and each one follows certain consistent rules.
You don't hear people asking "but WHY is this verb in conjugation group 4?", but as soon as you label noun classes with a descriptor like "masculine" it sounds like there's a deeper meaning behind it. Sometimes there is, sometimes there isn't, but it's hardly ever a question that's going to make learning the language easier.
A broad bh (next to a, ó or u) is usually pronounced "w" (leabhar, abhaile). A slender bh is usually pronounced "v" (bhí, sibh).
There are lots exceptions to this - Munster Irish often pronounces broad bh as "v", but even in Connacht and Ulster Irish, ubh and bhróg are pronounced with a "v" sound.