Sort content in a view by taxonomy term and use terms as headlines in drupal 8
To do this you need a Taxonomy term view with a Content using field_xxx relationship.

Here are the steps needed:


Create a new view with Show: Taxonomy terms of type: Book category (or whatever your vocabulary is called).
Under Advanced settings add a Relationship of type Content using field_bookcategory
Under Fields, Add a Content Title field to the view. A relationship to your field_bookcategory should be automatically selected at this point.
You now need to group your results by taxonomy term. Do this under under Format: Settings and set Grouping field Nr. 1 to Taxonomy term: Name
Lastly, you'll want to hide the term name in the results, since you're already displaying it in the group heading. To do this set the Taxonomy term: Name field to Exclude from display