You could use the Background Eraser tool in Photoshop, although there are many ways to remove backgrounds in Photoshop, and no single "efficient" way. Which method you choose would depend on the kind of image. In your example the Background Eraser would work well on the image because it has solid areas of colour.
Example, using the Background Eraser
It's already suggested that get the original vector image. In theory you could edit it in Illustrator - simply delete the white shape, if there exists one. Or remove its fill or disable the shape in the layers panel.
If a single layer bitmap image with white background is all you have, you must (see Note1) work in Photoshop or other bitmap image editor. I guess you already have tried to make selections with "magic wand" and "select color range" and the result isn't satisfactory.
But you can insert a layer mask where all white is inverted to black and black+colored areas are white. So, duplicate the image layer and mix the duplicate to black and white with Image > Adjustments > Black and White:
Apply Image > Adjustments > Invert to turn it negative.
Insert a layer mask to the original image layer. Copy the inverted BW version to the clipboard. Paste it to the layer mask. You get the mask onscreen under editing by clicking the mask icon in the layers panel and holding Alt at the same time. Paste in place to retain the right place.
In theory you could a little tune the mask by applying the curves tool to it. You can increase the contrast of the mask with good control this way. If the image is noisy, like JPGs often are, it very easily makes the edges ragged.
In this case Curves do not make it better, BW mix gave enough contrast alone.
Note1: Actually you can also try to trace this to vector domain. Do it in colors and remove white. Your included version unfortunately has too low resolution for this route. It has too many nearly faded lines and borders. If you want to try it, use in the beginning at least 16 colors. It's done here in Inkscape.