If it's just parsing the current query string (from the page the form is on) then it doesn't matter that they're "eVars" per se. They're just a query parameter that needs to be split up before adding to the form.
Create a String field allEVars to store the whole thing for posterity. Add that field to the form in Form Editor, as Hidden + Auto-Fill from the query param.
Then
MktoForms2.whenReady(function(form){
var currentValues = form.getValues(),
eVarHeaders = "evar_medium:evar_source:evar_campaign:evar_other:evar_etc".split(":"),
eVarSingleFields = currentValues.allEVars
.split(":")
.reduce(function(acc,next,idx){
acc[eVarHeaders[idx]] = next;
return acc;
},{});
form.addHiddenFields(eVarSingleFields);
});
This will populate individual hidden fields from the fields in the eVarHeaders semicolon-delimited string, in that order. (You'll create all those fields in Marketo as well, but they don't need to formally appear on the form in Form Editor).