My personal opinion is... that your problem has nothing to do with his personality type, and everything to do with the fact that he has realised (perhaps subconsciously) that he has power over you. I know of guys who date girls like this, and the common factor is almost always "doormat syndrome", where they do everything to please them, and only get manipulated and disrespected for it.
I think you need to be a bit more hard on him (firm, not aggressive or harsh). Ask him what he wants, and give it to him- nothing more, nothing less. If he can't decide, tell him that a decision must be made, and that if he's not going to make it then you're going to make it on his behalf. If he whines and gets upset with your choice, let him know clearly and firmly that you had already told him the rules, and he didn't follow them. If he STILL whines, punish him calmly, and let him know that you will not tolerate this sort of behaviour from him any more.
Don't give in. If he asks for one thing, and then demands another, give him what he asked for the first time- and leave it at that. For example, if he doesn't want to go on the vacation, find an alternative- maybe leave him at a friend's place. If he's happy that way, so be it. If he calls you and complains, say that you gave him what he wanted, and that's that. You're not being harsh- you're being consistent with what you say and what you do.
I'm not a parent, though, so you might want to laugh at me and go "what does this kid know about raising kids?" and I wouldn't blame you.
Good luck! \(n_n)/