Here a slightly simpler technique. It has its own set of limitations, but uses a *Curve* modifier and requires less manual labour.

[![][1]][1]

Create a bezier curve roughly following the desired shape for the unwinding hose section.
Make sure the curve object origin sits at the end of the outer edge of the hose path.

[![][4]][4]
[![][5]][5]

Create a mesh object with a single short edge and no faces. Adjust its origin so it sits at the axis of revolution of the tube shape. Adjust the position of the vertex so they land at the the beginning of the curve, where it's origin sits at.

[![][6]][6]
[![][7]][7]

Add an array modifier to the mesh, set it to *Fit Curve* and pick the curve created at the first step. Make sure to turn on *Merge* to get a continuous string.

[![][8]][8]

Now add a *Curve* modifier to the mesh, and set it again to the same bezier curve object.

[![][9]][9]

Add a *Screw* modifier to the mesh, adjust the axis accordingly.

[![][10]][10]

Make sure both the mesh and the bezier curve have to same rotation in world space, otherwise you may get unexpected behaviour.

[![][3]][3]

Move the bezier curve horizontally and you can animate the inflation of the hose tube.

[![][2]][2]

Optionally you can now additionally animate the bezier curve points with shape keys, to get additional deformations and or stretching effects.

 [1]:https://i.imgur.com/SWWj7Cj.gif
 [2]:https://i.imgur.com/2Ne0EZh.gif
 [3]:https://i.imgur.com/7mKCuHV.gif

 [4]:https://i.imgur.com/Yb9EFDd.png
 [5]:https://i.imgur.com/qCmz8Wj.png
 [6]:https://i.imgur.com/duiGwer.png
 [7]:https://i.imgur.com/gYpQN4a.png
 [8]:https://i.imgur.com/KMDMLYG.png
 [9]:https://i.imgur.com/Fl86OkY.png
 [10]:https://i.imgur.com/Ibdd2cr.png