"changing" a cert is a bit of a humanism - "let me renew my cert".
Certs can't be changed in any way.
Any change requires a whole new cert.
But, yes, you can "change" the way you get your certs from HTTP to DNS.
But I don't see how you can change it "mid-flight".
You may need to start a new request.
You can modify the renewal parameters directly (not recommended).
Or you can adjust the command run with the required DNS type and such.
Once a cert has been obtained, the renewal method is saved/updated for the next renewal.
Hopefully that answers your question.
If not, feel free to just ask.
[most of what is written is for ALL readers benefit - not directed solely at you]
READERS: Get involved. Be heard. Do your part with: If you read something you like, then like it