A person can enhance his/her vocabulary through reading. If a person has interest in reading then it is likely for him/her to encounter new words. This is what I usually do. Whenever I read, I make it a point to have a pen, a paper and a dictionary beside me. I list down the words that seem unfamiliar to me and immediately search for its meaning just so I'll be able to understand it's usage and the context behind it. Moreover, to make sure that I fully grasp the meaning of these new words, I will also try to use it whenever I converse with other people or whenever I write something in my blog. This way, I can easily remember and make use of this words often. Nowaday, there are also a lot of word games designed to enhance one's vocabulary. You can go ahead and try them, and see if it'll work for you.