Project grouping in the traditional sense can be done with projectile and NeoTree. http://projectile.readthedocs.io/en/latest/ https://github.com/jaypei/emacs-neotree/blob/dev/README.md
I think what you are describing in the second half can be handled with company mode and triggering a major/minor mode off a file extension. https://www.gnu.org/software/emacs/manual/html_node/emacs/Ma...
http://company-mode.github.io
If that's not it it's possible Googling will find exactly what you describe. People tend to port anything useful from any editor to emacs.