RE: General Dog Question
If waterfowl is your main goal, you better get a retriever. If you happen to know where some upland birds live and can put yourself within 40 yards of them, the retriever can be trained to flush them for you and retrieve what you shoot.
Not too many retrievers that are "medium to small," however.
If you reverse the order of your preferences, then an English Springer Spaniel would be perfect.