Try this:
* add `n` to `formatoptions` so vim recognizes lists (`:set fo+=n`)
* set the `formatlistpat` option to recognize asterisk as bullets (`set flp+=\\\|^\\*\\s*`) (note that number of backslashes depends on your `magic`ness level).
It's not perfect based on my testing but it seems to be close.