Vanilla JavaScript
https://codepen.io/vskand/pen/MWKKKYK
https://codepen.io/ZacharyAagesen/pen/QWqjVaR
(with search)
Isotope
https://isotope.metafizzy.co/filtering.html
Isotope Examples (has jQuery)
https://codepen.io/desandro/pen/LYpbOL
https://codepen.io/uhe/pen/KKzvELW
https://codepen.io/aylinmarie/pen/NjwOGv
Filterizr (has jQuery + vanilla option)
https://github.com/giotiskl/filterizr
https://yiotis.net/filterizr/#/tutorials/quickstart
https://www.cdnpkg.com/filterizr/file/vanilla.filterizr.min.js/
(vanilla filterizr)
Filterizr vs Isotope
https://npmtrends.com/filterizr-vs-isotope-layout