The main issue is your MySQL settings. I'm guessing that your MySQL is configured to index words with 4 or more characters. That's why you can't filter on the word "men". I see on your site references to "Men's", but MySQL doesn't treat that as a 4 letter word.
So, you could update your MySQL settings to index words with 3 or more characters (might have to ask your host about that).
For negative searches...
The - operator acts only to exclude rows that are otherwise matched by other search terms. Thus, a boolean-mode search that contains only terms preceded by - returns an empty result. It does not return “all rows except those containing any of the excluded terms.” ~ http://dev.mysql.com/doc/refman/5.1/en/fulltext-boolean.html
So, you could try something like this:
I just put that into your site and it seemed to return only men's sunglasses.