I really didn't like the way the filament spool rocks back and forth (because the center of gravity was lower than the holder), but I couldn't find an adapter that will fit the stock holder of the Ender 3.
So I remixed a design of a CR-10 adapter, changed the inner diameter, cut it to 2 pieces so it could fit the holder and not fall off it and added 4 holes on each sides.
After printing I joined the parts together on the holder using 2 toothpicks and no more rocking.
The spool turns smoothly.
UPDATE: Turns out that Creality changed the spool holder in the newer Ender 3 version, so this is needed only in the version that doesn't have a nut on the free side of the holder spindle.
UPDATE 2: Uploaded a longer version of the holder to utilize the full length of Ender's spindle.
30% Gyroid only for the nuts