Generally, they all mean some backward-thinking, uneducated person, like someone from the country. (Not to diss country folk in general.) In most cases it's not worth splitting hairs.
Boor - uncouth, uneducated (from the Dutch "boer", a farmer)
Hick - short for Richard, but this connection is not made today. The modern meaning is pretty much the same as yokel.
Yokel - again, related to a farmer, but a little more disparaging (German "Jokel" from the name Jakob)
Bumpkin - again, about rural people but the implication is they're short and dumpy, like a little barrel. (Dutch "bommekijn").
Credits to here: www.etymonline.com