I'm not sure how to interpret your image
and I don't have the time to make one to better explain what I mean, sorry.
The idea is not complicated. There are two images involved: a background, which is a static circle, easy to draw (a simple sprite for example), and the filled part, on top of the background, which is a circle too but not full. Fortunately, such a shape is straight-forward to create with a vertex array of type sf::TriangleFan. The only "tricky" part is to calculate the texture coordinates for each point. You can have the precision that you want, even 1 point for every energy percent would not be a lot (100 points for a single shape is more than ok for your graphics card).