Move each of edge loop's vertices by their relative weights in a vertex group
I suspect you can use any of the deform modifiers to do this, and while a lattice can be deformed in many ways (and so your VG), even a hook modifier to a simple empty will do, eg:



to get this: