You can not.
Covariant polymorphism is not supported in Haskell and would not be useful if it were.
This is basically all that needs to be answered. Now why is this so.
You should not "return a polymorphic value", as, for example, OO languages, because the only reason for returning any value is the use of it in other functions. Now in OO languages you have no functions except the methods that come with the object, so it’s pretty easy to “return different types”: each of them will have its own suitable methods, and they can vary. (Is this a good idea another question.)
But in Haskell, functions come from other sources. They are not aware of implementation changes for a particular instance, so the only way that such functions can be safely identified is to know all the possible implementations. But if your return type is really polymorphic, this is impossible, because polymorphism is an "open" concept (it allows you to add new implementations at any time later).
Instead, Haskell has a very convenient and absolutely safe mechanism for describing a closed set of "instances" - you already used it yourself! ATD.
data PolyVector = NumbersVector (Vector [Int]) | CharsVector (Vector [Char]) | StringsVector (Vector [String])
This type of refund you want. The function will not be polymorphic as such, it will simply return a more universal type.
If you insist that it should be polymorphic
Now ... in fact, Haskell has a way to deal with "polymorphic returns". As in OO, when you declare that you are returning a subclass of the specified class. Well, you cannot “return a class” at all in Haskell, you can only return types. But this can be done to express "any case ...". He called existential quantification.
{-
I don't know if this looks intriguing to you. True, it is much harder and harder to use; you can simply not use only any possible results, but you can only use elements using YourVElemClass methods. GADTs can be extremely useful in some applications, but they usually include classes with very deep mathematical motivation. YourVElemClass doesn't seem to have that kind of motivation, so you would be much better off with a simple alternative to ADT than existential quantification.
There is the famous ranted with existential eyes of Luc Palmer (note that he uses a different existential syntax, which I consider obsolete, since GADT is strictly more general).