Ok so I implemented the second sugestion (TypedInput Widget) and I just wanted to leave some extra information and useful links for people with less experience (such as myself) who are trying to implement this.
This link has a minimal example of the TypedInput Widget's use.
To understand the .js part of this example and how the input is treated differently depending on the selected type, the documentation for the evaluateNodeProperty function of the RED.util utility helped me a lot as the example provided above does not use the msg type specifically, which needs an extra parameter in the evaluateNodeProperty function (the msg object itself).
@dceejay Thank you for the very fast and concise response which helped achieve exactly what I wanted to do.