I recommend deciding what it is you're looking for, before looking for a technique to get it.
Genre, if used according to it's conventional meaning, will include a relatively short list of values like Pop/Rock, Jazz, R&B, Classical, etc. No method of getting these values automatically is going to be more efficient than simply assigning the value manually.
Styles are a quite a different matter (again, according to conventional meaning). Most artists can be associated with a number of different styles, as might any one song. Styles can cross genres. It's not the sort of thing everyone is likely to agree on. To make matters worse, many people and online data sources seem to mix
Genres and
Styles and call it "Genre." The result is, understandably, inconsistent.
My choice has been to rely on Allmusic as a reasonably consistent and (I hope) authoritative source for determining
Genre and
Style. I actually use Allmusic styles to decide (if I haven't already) the one arbitrary "style" I'll assign to an artist. I use [Style] as a single value field to, for example, break my "Rock" genre down into 11 styles (or what some would call "sub-genres"). As logical as they may seem, I try to remember my style categories are largely arbitrary, and most artists could be in more than one.
I've recently added Allmusic styles to [Keywords] and organized them as a nested list. That's very interesting, but I still rely on [Genre]\[Style] as the primary means for navigating my collection.