Swirly bokeh like that of a Helios 44m 2/58?
This answer will achieve a similar effect, not quite the same or as good as what you are probably looking for. The problem is I couldn't find a way to get the bokeh dots to 'light' up or contrast against the other ones more - essentially I couldn't get them to look more like bokeh dots... maybe less motion blur? I am not sure. With that being said, this may work well enough for whatever project you are doing. Hopefully, this answer can serve as a good starting point for you to build off of or give someone else an idea to build off of as they form their answer. 

Essentially I will just be using tiny refraction circles with traditional depth of field combined with motion blur to achieve the swirling effect. Here are a couple of example renders that I added the effect.








How to achieve the swirly effect

We will follow these steps in making this swirly bokeh effect:


Make the small 'Bokeh Dots'
Adding Depth of Field
Adding Motion Blur
Compositing (Optional)


Make the Small Bokeh Dots


Create a circle and fill in the face
Put the circle close to the camera in your scene as shown in the pic with two array modifiers. Look at the picture for guidance on how big the circles should be and how to set up the modifiers. I find that the circle should be just big enough to fit 70 by 40 (array modifier values) on a 16:9 ratio camera.

Add a Material to the Circle and set the surface node to a refraction node with a Roughness value of 0, IOR value of 1.2ish and set the color to as white as you can go.
Apply the Array Modifiers and then go into Edit Mode and press p and select separate by loose parts - separating them may take a while!
In Object Mode with all the circles selected, go to View->Set Origin->Origin to Geometry.
Open search by hitting F3 (or space if you go legacy hotkeys) and type Randomize and click Randomize Transform.
On the bottom left, change the randomize transform settings and click "Scale Even" and change the x scale value to a value around .5 (or whatever you like). You could also mess with the random transform values a bit, not a lot, but a bit.


And boom you have small bokeh dots! (I skipped this step in the render with the white balls and monkey heads because the white balls were the bokeh)

Adding the Depth of Field & Motion Blur

Go to your camera and enable depth of field. Adjust the values to how you like. I find that distance values around .5 with F-Stop values of around 3 work well.

For the Motion blur


Press 0 to open your camera view, stay in camera view for the rest of the steps.
Select your camera and press i and click key frame rotation.
Go back one frame from the current, press r, type in -45, press enter, press i and click rotation.
Return to the current frame by going forward one frame. Then go foward one more frame and press r, type in 45 (this time its positive), press enter, press i and click rotation.
Return to current frame by going back one frame.
Go to the render panel and turn on motion blur. Set the shutter speed to around .05ish


 Optional Compositing 

I noticed that the blur seemed a little more oil painty than the results so I attempted to make the render a little more oil painty using this post-processing trick. It is easier to set up than you think. For the color ramp, just select a point and keep pressing the plus button to add more points halfway in between. Then just change it to constant and duplicate it for all the RGB channels. This is the only post-processing that I could think of, maybe someone else will think of more.